;-----------------------------------------------------
;
;MULTIPLAYER MENU DEFINES
;
;-----------------------------------------------------
;SET equals Main Menu, RES equals New Game Menu
;This allows less code for both of the menus
#define Main_Menu_Or_New_Game_Menu asm_flag1_0

asm_flag1_0 .equ 0
asm_flag1_1 .equ 1
asm_flag1_2 .equ 2
asm_flag1_3 .equ 3
asm_flag1_4 .equ 4
asm_flag1_5 .equ 5

;This variable allows a player to input his name
Player_Input_Name .equ appbackupscreen + 701

;Although the variable Host or Join is used for connection
;purposes, this variable is used for name input purposes
Player_Number .equ appbackupscreen + 715

;Used for inputing names
Lobby_Cursor .equ appbackupscreen + 717

;For sending values between 2 calculators
Block_Of_Data .equ appbackupscreen + 720

Recieve_Successful .equ 123
Success .equ appbackupscreen + 740

;Because Get_Key rather than Get_CSC is used for inputing names,
;it is very important that the two calculators are synced.
;Thess values simply lets the other calculator know if the other
;player is in input mode
Falsey .equ 0
Truey .equ 1

Player_Me_In_Input_Name_Mode .equ appbackupscreen + 741
Player_They_In_Input_Name_Mode .equ appbackupscreen + 742

;To prevent double-hosting or double-joining
Lobby_Host_Or_Join .equ appbackupscreen + 747


#define Player_Host_Or_Join asm_flag1_0

;If RES, Player is Host.  If SET, Player is joining.


#define Delete_Character_Flag asm_flag1_2

Flag .equ asm_flag1

; This is used for determining if the game is one player vs. AIs,
; or two players versus AIs
; If RES, it's a one player game.  If SET, it's a two player game.

#define AI_Or_Player2 asm_flag1_3

;Player_AI_Number is used by the menu only.  To save
;space, aka to allow functions to be called several
;times, this variable tracks whatever AI the player
;is editing difficulty for

Player_AI_Number .equ appbackupscreen + 700

;Also used for this sub only, for the same reasons, 
;in this case for determining if the AI difficulty
;is decreased or increased.

#define AI_Increase_Or_Decrease asm_flag1_1




;For determining player types in gameplay

Host .equ 7  ;The person who hosted the game.  This will always be player 1.
Join .equ 8  ;The person joining the game in link play.  This will always be player 2.


;For determining player types in the lobby, and in the main menu so that
;a double-host and/or a double-join can be avoided

Other_Calculator_Ready .equ 57
Lobby_Host .equ 0
Lobby_Join .equ 1




AI_Very_Easy .equ 0
AI_Easy .equ 1
AI_Medium .equ 2
AI_Hard .equ 3
AI_Very_Hard .equ 4
AI_Insane .equ 5
AI_None .equ 6


;-----------------------------------------------------
;
; Box Width Values determine how long a selection box
; should be if the user selects a particular menu
; item
;
;-----------------------------------------------------
BoxWidthName .equ 57
BoxWidthTeam .equ 5
BoxWidthMapSelection .equ 95

BoxWidth .equ appbackupscreen + 2

;-----------------------------------------------------
;
;PLAYER DEFINES
;
;-----------------------------------------------------

Player1_X .equ appbackupscreen
Player1_Y .equ appbackupscreen + 1
Player1_Unit .equ appbackupscreen + 2
Player1_Turret_Position .equ appbackupscreen + 3    ;Where the weapon is firing.
                                                    ;Although only two units have turrets to fire,
                                                    ;using the turret variable to determine
                                                    ;firing direction makes it easier to
                                                    ;program the firing of any unit in the
                                                    ;game

Player1_Direction .equ appbackupscreen + 4          ;Used to determine which sprite to use
                                                    ;depending on which direction the
                                                    ;ship is going
Number_Of_Turret_Frames .equ appbackupscreen + 9
Sprite_Width .equ appbackupscreen + 5
Turret_Data_Interval .equ appbackupscreen + 6 ;Two bytes of data
Walking_Sprite_Frame .equ appbackupscreen + 8 ;Only for the Scouter.
                                                ;This value is 2 when the Scouter
                                                ;is standing still, and alternates
                                                ;between 0 and 1 depending on which
                                                ;frame the Scouter should display
                                                ;for its walking legs




;--------------------------------------------------------------------------------
; The following values assign ship names as different constants, used for
; changing the unit type for players
;-------------------------------------------------------------------------------- 

Scouter     .equ 0
Raptor      .equ 1
Tank        .equ 2
Argo        .equ 3
Degruser    .equ 4
Reclauda    .equ 5
Camoza      .equ 6
Balkstone   .equ 7
Splitron    .equ 8